//
//  shannon_fano.h
//  ShannonFano
//
//  Created by Alessio Scannapieco on 17.11.11.
//  Copyright 2011 SUPSI - Manno. All rights reserved.
//

#ifndef ShannonFano_shannon_fano_h
#define ShannonFano_shannon_fano_h

#include "bitfile.h"

// #define _DEBUG_SFC_         // stampa a terminale le informazioni più importanti
// #define _DEEP_DEBUG_SFC_     // stampa a terminale le informazioni più dettagliate

/***********************************************************************************************************************/
/*                                          Funzioni di interfaccia                                                    */
/***********************************************************************************************************************/

/***********************************************************************************************************************
 *  Funzione per la codifica di un file con l'algoritmo di Shannon Fano Canonico
 *
 *  Parametri:
 *  - const char *fileInName: percorso del file da codificare (source)
 *  - const char *fileOutName: destinazione del file compresso (target)
 ***********************************************************************************************************************/
// void shannonFanoCanonicalEncode(const char *fileInName, const char *fileOutName);
void shannonFanoCanonicalEncode(char *fileInName, char *fileOutName);

/***********************************************************************************************************************
 *  Funzione per la decodifica di un file con l'algoritmo di Shannon Fano Canonico
 * 
 *  Parametri:
 *      - const char *fileInName: percorso del file da decodificare (source)
 *      - const char *fileOutName: destinazione del file decompresso (target)
 ***********************************************************************************************************************/
// void shannonFanoCanonicalDecode(const char *fileInName, const char *fileOutName);
void shannonFanoCanonicalDecode(char *fileInName, char *fileOutName);

#endif